System and method for providing temperature correction in a crystal oscillator

ABSTRACT

A system and method for providing temperature compensation in a oscillator component (such as a crystal oscillator component) that includes a closely-located temperature sensing device. The crystal oscillator component in example systems and methods is exposed to a temperature profile during a calibration procedure. Temperature and frequency data are collected and applied to coefficient generating function according to a temperature compensation model to generate a set of coefficients that are used in the temperature compensation model in an application device. The generated coefficients are stored in a coefficient memory accessible to an application device during operation.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to electronic components and moreparticularly to providing compensation for environmental effects onoperation of oscillators.

2. Description of Related Art

Crystal oscillators, which are components in electronic systems that arewidely used to generate fixed frequency signals, are known to beaffected by environmental conditions, such as temperature. In general,the frequency generated by a crystal oscillator may vary as thetemperature around it changes. The applications in which such crystaloscillators are used may not tolerate much variation in the frequency.Several methods have been developed to stabilize their frequency. Someexamples include:

-   -   1. Having the crystal oscillator operate in a controlled        temperature environment. Such crystal oscillators are generally        known as an oven controlled crystal oscillator (OCXO).    -   2. Combining the crystal oscillator circuit with analog        circuits, which include components that have        temperature-sensitive reactances and the components are arranged        to compensate the frequency vs. temperature characteristic. Such        crystal oscillators are called temperature compensated crystal        oscillators (TCXO).    -   3. Using crystal oscillators that have values of frequency vs        temperature characteristics stored in digital memory. The values        may be stored and used as an interpolated look-up table by a        specialized hardware circuit to correct the output frequency of        the oscillator. In order to know which value to access in the        look-up table, an analog to digital converter (A/D) is used to        measure the value of a temperature sensor. This is also known as        a microprocessor compensated crystal oscillator (MCXO) or        Digitally Compensated Crystal Oscillator (DCXO.)    -   4. Storing coefficients, such as polynomial coefficients, that        are used to generate curves that match the frequency vs        temperature characteristic, in a digital memory inside the        crystal oscillator. In this case, the functional nature of the        curves is predefined. For example, a correction equation        Correction=k*T^3 may be used. That is, some constant coefficient        k times the cube of the temperature, and the coefficient k is        calculated and stored by the manufacturer in digital memory. As        in the MCXO above, a temperature sensor is digitized and used        with the stored coefficient to calculate a frequency correction        which is applied to specialized hardware to correct the        frequency. Usually several coefficients are used for a realistic        curve fit.    -   5. Using a crystal that vibrates in two modes at the same time,        one mode being relatively stable and the other mode being highly        temperature-sensitive, such that it serves as a temperature        sensor by measuring the oscillation frequency with moderate        precision relative to the first oscillation mode. Then the        difference between the two frequencies may be used to generate a        correction factor.    -   6. Using two crystals in one package, where one crystal being        the unit to be compensated, and the other crystal being one        having a linear frequency versus temperature characteristic so        that the second crystal acts as a temperature sensor for the        first crystal. In this case, the frequency of the sensor can        provide temperature information which may then be used to        correct the first crystal frequency if the correction required        is previously measured and known. This is similar to no. 5        above, except the use of two crystals isolate some problems of        frequency cross-coupling in a dual-mode device.

The above-described methods rely on a static curve model for temperaturedependence. This means the models assume there is a frequency vs.temperature relation that does not change for a given crystal unit, anddoes not depend on how fast the temperature is changing. It is wellknown in the art that this assumption begins to fail with increasingerror when the temperature rate of change increases from zero.

There is a need for improved systems and methods for stabilizing crystaloscillator operation.

SUMMARY

In view of the above, systems and methods are provided for configuring acrystal oscillator component where the crystal oscillator componentincludes a temperature sensor. The crystal oscillator component may beconfigured by first exposing the crystal oscillator component to acontrolled temperature environment. The crystal oscillator component isenabled for operation so that the crystal oscillator component outputs afrequency signal while initiating a temperature test profile in thecontrolled temperature environment. The temperature at the crystaloscillator component is set to a first initial temperature and variedaccording to the profile. During the temperature profile, the frequencyand temperature are periodically measured as the temperature settingchanges. The measured frequency and temperature data is applied to atemperature compensation model to generate a plurality of parametersthat characterize the crystal oscillator component. The parametersinclude dynamic response parameters that characterize a thermal dynamicresponse of the crystal oscillator component. The generated parametersare then associated with the crystal oscillator component.

Various advantages, aspects and novel features of the present invention,as well as details of an illustrated embodiment thereof, will be morefully understood from the following description and drawings.

Other systems, methods and features of the invention will be or willbecome apparent to one with skill in the art upon examination of thefollowing figures and detailed description. It is intended that all suchadditional systems, methods, features and advantages be included withinthis description, be within the scope of the invention, and be protectedby the accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention can be better understood with reference to the followingfigures. The components in the figures are not necessarily to scale,emphasis instead being placed upon illustrating the principles of theinvention. In the figures, like reference numerals designatecorresponding parts throughout the different views.

FIG. 1 is a block diagram of one example of a device that performsfunctions that use a signal having a frequency generated by atemperature compensated crystal oscillator circuit.

FIG. 2 is a block diagram of another example of a device that performsfunctions that use a signal having a frequency generated by atemperature compensated crystal oscillator circuit.

FIG. 3 is a block diagram of another example of a device that performsfunctions that use a signal having a frequency generated by atemperature compensated crystal oscillator circuit.

FIG. 4 is a block diagram of another example of a device that performsfunctions that use a signal having a frequency generated by atemperature compensated crystal oscillator circuit.

FIG. 5 is a block diagram of an example of a system for temperaturecompensating a crystal oscillator circuit.

FIG. 6 is a block diagram of another example of a system for temperaturecompensating a crystal oscillator circuit.

FIG. 7 is a block diagram of another example of a system for temperaturecompensating a crystal oscillator circuit.

FIG. 8 is a block diagram of another example of a system for temperaturecompensating a crystal oscillator circuit.

FIG. 9 is a graph of an example of a temperature test profile that maybe implemented in systems and methods for temperature compensating acrystal oscillator circuit.

FIG. 10 is a flowchart of an example of a method for temperaturecompensating a crystal oscillator circuit.

FIG. 11 is a flowchart of another example of a method for temperaturecompensating a crystal oscillator circuit.

DETAILED DESCRIPTION

In the following description of preferred embodiments, reference is madeto the accompanying drawings that form a part hereof, and which show, byway of illustration, specific embodiments in which the invention may bepracticed. Other embodiments may be utilized and structural changes maybe made without departing from the scope of the present invention.

1. Examples of Systems For Temperature Compensating a Crystal OscillatorCircuit.

Examples of systems for temperature compensating a crystal oscillatorcircuit consistent with the present invention are described below withreference to FIGS. 1 through 4. In the examples described below, atemperature-sensing device is advantageously closely located with adevice (i.e. the crystal oscillator circuit) that is to be compensated.The proximity of the temperature-sensing advantageously improves theaccuracy of the compensation. FIGS. 1-4 illustrate “use models” forimplementation of a crystal oscillator circuit havingtemperature-sensing and temperature-compensating capabilities. That is,the use models illustrate the implementation of the crystal oscillatorsin application devices, such as GPS receivers, for just one example.Those of ordinary skill in the art will appreciate that while examplesdescribed herein relate to crystal oscillators, example systems andmethods consistent with the present invention may be applicable tosilicon-based oscillators, or other types of oscillators.

FIG. 1 is a block diagram of a first use model 100 in which a crystaloscillator circuit 102 generates a frequency for use by an applicationdevice 101. The crystal oscillator circuit 102 includes a crystaloscillator 104 and a temperature sensor 120 built into a crystaloscillator circuit package 102. The temperature sensor 120 may be aProportional To Absolute Temperature (“PTAT”) sensor (also known as abandgap sensor), or a suitable alternative. The crystal oscillator 104may be of a temperature compensating cut such as AT cut.

The application device 101 includes an analog to digital converter(“ADC”) 142, a temperature compensation modeling function 160, aparameter memory 140 and a frequency correction function 130 in additionto other hardware and software for performing the functions designatedfor the application device 101. The ADC 142 receives a voltage signal at121 and converts the signal to a digital value that represents thetemperature of the crystal oscillator 104. The voltage signal at 121 isproportional to the temperature of the crystal oscillator 104. Thedigital value representing the temperature of the crystal oscillator 104is input to the temperature compensation modeling function 160.

The parameter memory 140 in the application device 101 is used to storea plurality of parameters that characterize the crystal oscillatorcomponent, the parameters including dynamic response parameters thatcharacterize a thermal dynamic response of the crystal oscillatorcomponent. The parameter memory 140 may be a designated storage space,such as a set of registers provided in hardware specifically to containthe parameters; or the parameters and other data. The parameter memory140 may also be implemented in system memory used by the applicationdevice 101 to store data and/or programmed functions. The temperaturecompensation modeling function 160 retrieves the parameters from theparameter memory 140 and uses the parameters and the ADC output tocalculate a frequency correction. The frequency correction function 130applies the frequency correction to the output of the crystal oscillatorcircuit 102 at 123. The frequency correction function 130 may beimplemented in hardware or in software to provide the application device101 with a more accurate knowledge of the crystal frequency.

In one example of a temperature compensation model, the parametersstored in parameter memory 140 include coefficients of terms related totemperature readings in a model that yields information about atemperature-related frequency error. The example temperaturecompensation model advantageously includes coefficients thatcharacterize a thermal dynamic response of the component. The parametermemory 140 may include the coefficients and other data related toapplication of the model to the component. In other examples, theparameter memory 140 may include other types of parameters that may beused in a temperature compensation model that is capable ofcharacterizing the thermal dynamic response of the component.

FIG. 2 is a block diagram of another use model 200, which illustratesthe use of a crystal oscillator circuit 150 that includes a parametermemory 180 in a package along with the crystal oscillator 112 and thetemperature sensor 120. During operation, the temperature compensationmodeling function 180 retrieves parameters from the parameter memory 180in the crystal oscillator circuit 150 package.

In the use models 100 and 200 in FIGS. 1 and 2, respectively, thetemperature sensor 120 is included within the crystal package and theADC 142 in the application device 142 digitizes the output of thetemperature sensor 120. In alternative examples of the use models 100and 200 in FIGS. 1 and 2, the ADC 142 may be included in the crystalpackage with the temperature sensor 120. This would advantageouslypermit the temperature compensation model to account for the temperaturevariations to the ADC 142 as well as to the crystal package duringcalibration procedures. FIGS. 3 and 4 illustrate operation of use modelsthat implement an alternative example of a crystal oscillator circuit.

FIG. 3 is a block diagram of a third example of a use model 300 in whicha dual crystal oscillator device 202 provides a frequency signal to anapplication device 201. The dual crystal oscillator device 202 includesa first crystal 204, which may be an AT-cut crystal, and a secondcrystal 320 having linear temperature versus frequency characteristics.The application device 201 includes a frequency counter 342, atemperature compensation modeling function 360, a parameter memory 380,and a frequency correction function 330. The second crystal 320 in thecrystal oscillator circuit 202 is closely located to the first crystaloscillator 204. The second crystal 320 may be an X or Y cut crystal thatgenerates a frequency linearly proportional to temperature.

During operation of the use model 300 in FIG. 3, the first crystal 104outputs a crystal frequency signal to the frequency correction function330. The second crystal 320 outputs a sensing frequency signal to thefrequency counter 342. The crystal frequency signal is output from thefrequency correction function 330 to the frequency counter 342 tofunction as a counter reference frequency. As the temperature in thedual crystal oscillator device 202 changes, the sensing frequency signalchanges linearly with the temperature. The change in frequency of thesensing frequency signal is sensed by the frequency counter 342 and thecounter measurements indicative of changes in temperature are input tothe temperature compensation modeling function 360.

The temperature compensation modeling function 360 functions in a mannersimilar to the temperature compensation modeling function 160 describedabove with reference to FIGS. 1 and 2. The temperature compensationmodeling function 360 receives parameters for the temperaturecompensation model from the parameter memory 380 and the temperaturemeasurement from the frequency counter 342. The temperature compensationmodeling function 360 may implement or access a separate function totranslate the counter measurements received from the frequency counter342 to a temperature change or level.

The frequency correction function 330 functions similar to the frequencycorrection function 130 described with reference to FIGS. 1 and 2. Thefrequency correction function 330 in FIG. 3 however couples the crystalfrequency signal output by the first crystal oscillator 204 to thefrequency counter 342 for use as a reference frequency. In anotherexample, the crystal frequency signal may be coupled to the frequencycounter 342 directly from the dual crystal oscillator circuit 202.

FIG. 4 is a block diagram of a fourth example of a use model 400 inwhich a dual crystal oscillator device 250 provides a frequency signalto an application device 251. The dual crystal oscillator device 250includes a first crystal oscillator 204, which may be an AT-cut crystal,a second crystal oscillator 320 having linear temperature versusfrequency characteristics, and a parameter memory 480. The applicationdevice 251 includes a frequency counter 342, a temperature compensationmodeling function 360, and a frequency correction function 330. Thesecond crystal 320 in the crystal oscillator circuit 250 is closelylocated to the first crystal oscillator 204. The second crystal 320 maybe an X or Y cut crystal that generates a frequency linearlyproportional to temperature.

The functions in the application device 251 operate in a manner similarto those of the application device 201 in FIG. 3. The parameter memory480 in the use model 400 of FIG. 4 is physically located on the dualcrystal oscillator circuit 250 and not on the application device 251.

As described above, FIGS. 1-4 depict examples of use models for crystaloscillator circuits having crystal oscillators closely-located with atemperature sensing device. The use models 100, 200 in FIGS. 1 and 2 usecrystal oscillator circuits having a temperature sensor that outputs avoltage that is a function of the temperature (e.g. proportional to thetemperature). The use models 300, 400 in FIGS. 3 and 4 use dual crystaloscillator circuits in which the crystal to be compensated is closelylocated with a second crystal having a frequency that is a function ofthe temperature. Another example of a crystal oscillator circuitincludes a crystal oscillator capable of a dual-mode vibration, whichmay be sensed using a frequency counter-based circuit to measure thefirst mode with respect to the second (temperature sensitive) mode.

The use models 100, 200, 300, 400 described above implement a similartemperature compensation modeling function that retrieves parametersstored in a parameter memory and applies the parameters to the modelingfunction to generate a frequency correction. The coefficients in theparameter memory in the examples described in FIGS. 1-4 areadvantageously stored in a non-volatile memory during a calibrationprocedure during manufacturing. In the use models 100, 300 describedabove with reference to FIGS. 1 and 3, the parameter memory is locatedin the application device 101, 201. In the use models 200, 400 describedwith reference to FIGS. 2 and 4, the parameter memory is located in thecrystal oscillator circuit package. The calibration procedure performedduring manufacturing determines temperature parameters for an individualcrystal oscillator component. The calibration procedure may takedifferent forms and operate in different environments. The descriptionbelow with reference to FIGS. 5-8 describes systems and methods forimplementing a calibration procedure; however, it is understood thatother ways may be used and remain consistent with the present invention.The systems and methods for implementing a calibration proceduredescribed below assume a temperature compensation model that includescoefficients of terms related to temperature readings where the modelyields information about a temperature-related frequency error thatcharacterize a thermal dynamic response of the component. In theexamples below, the parameters are the coefficients, but the coefficientmemory may also include additional data related to the model.

FIG. 5 is a block diagram illustrating a system for calibrating acrystal oscillator component 502, with internal coefficient memory 504,in a calibration manufacturing system 500. The calibration manufacturingsystem 500 may be used to calibrate hundreds or thousands of devicessimultaneously in ways that are known in the industry with the use ofsystems of multiplexers and switches. The calibration manufacturingsystem 500 includes a calibration station 506 that includes a powersupply 508, a frequency counter 510, a temperature chamber 512, and atest controller computer 514. The test controller computer 514 in FIG. 5includes software such as a coefficient generator program 516, atemperature chamber control program 518, and a frequency and sensorvoltage acquisition program 520.

The crystal oscillator component 502 is placed in the temperaturechamber 512 during the calibration procedure. The temperature chamber512 is controlled by a chamber controller 528, which may receive controlsignals from the test controller computer 514 via a temperaturecontroller interface 526. During the calibration procedure, the testcontroller computer 514 controls the temperature chamber 512 to providea desired calibration temperature profile. The calibration procedure mayproceed as follows:

1. Control the temperature in the environment of the device under test(i.e. the crystal oscillator component 502, to follow a desired profileof temperature versus time. The test controller computer 514 commands atemperature controller interface 526 to transmit control signals to achamber controller 528. The chamber controller 528 may include hardwareand/or software that controls environmental parameters (e.g.temperature) inside the temperature chamber 512.

2. Control, accept and store frequency measurements from a frequencymeasurement device such as a frequency counter 510 as the temperature isbeing varied according to the test profile. The test controller computer514 commands the frequency counter 310 over a suitable control interface330. This may be a shared interface with a chamber control interface532. An example of a standard interface that may be used is the IEEE 488or similar. The measurements from the frequency counter 510 aretypically returned to the test controller computer 514 over the controlinterface 330. This is done as often as needed to ensure convergence ofthe coefficient generator program.

3. Control, accept and store measurements from the temperature sensor onthe crystal oscillator component 502 through an ADC 522 as thetemperature is being varied. The test controller computer 514periodically commands the ADC 522 to measure the sensor voltage. This isdone as often as needed to ensure convergence of the coefficientgenerator program.

4. Using the stored measured data, calculate coefficients for eachdevice 502.

5. Write the calculated coefficients through an external memoryinterface 524 over a data path 311 into the non-volatile memory 504(which may be non-volatile memory) in the device under test 502.

In the example in FIG. 5, the coefficient generator program 516 includesfunctions that generate the temperature coefficients for the crystaloscillator component 502. The coefficient generator program 516 in FIG.5 implements a temperature compensation model as described below, whichproduces a set of coefficients which will model the expected behavior ofthe oscillator during operation in the application device (i.e. at 101in FIG. 1). In controlling the temperature during the calibrationprocedure, the test controller 514 runs a temperature test profiledescribed below in more detail with reference to FIGS. 9 and 10.

FIG. 6 shows another example of a system 600 for performing acalibration procedure. In the system 600, the calibration procedure isused to generate coefficients for a crystal oscillator device 602 thatdoes not include a non-volatile memory inside the device. Thecoefficients are generated during manufacture of the crystal oscillatorcomponent 602 in a manner similar to the system 500 described above withreference to FIG. 5. However, in the system 600 in FIG. 6, thecoefficients are generated and output to an electronic file 610 and sentto a purchaser of the crystal oscillator component 602. The purchasermay then store the electronic file 610 containing the coefficients inanother device in the same product in which the crystal oscillatorcomponent 602 is used. This makes use of other potentially availablememory external to the crystal oscillator component 602, therebyreducing the cost of the crystal oscillator component 602.

In order to achieve a process such as the example described in FIG. 6 inmass production, the crystal oscillator component 602 may be serializedso that the correct coefficient data set is stored in the product withthe correct crystal oscillator component 602. For example, the crystaloscillator components 602 may be serialized with barcodes that may beapplied to the packaging of the crystal oscillator components 602. Then,when the crystal oscillator component 602 is to be installed in aproduct in which it will operate, a procedure in the assembly of theproduct may be implemented to store the coefficients associated with thecomponent's serial number in the memory of the product. Other ways ofmaking the component-coefficient association accessible to the personassembling the product in which the crystal oscillator component 602will operate include (without limitation) placement on a web-siteaccessible by the person with capabilities of searching by serialnumber, and storing the coefficients in a non-volatile memory in theproduct with the crystal oscillator component 602. FIG. 7 is a blockdiagram illustrating operation of a calibration system 700 in which anapplication device 702 (such as the application devices 101, 151, 201,251 in FIGS. 1-4) includes a crystal oscillator component 704, an ADC706, and a GPS Receiver 708. In the system 700 of FIG. 7, it is possibleto calibrate the crystal oscillator component 704 after installationinto the application device 702. The application device 702 may beplaced into a temperature chamber 716 to perform a calibration procedureof the substantially assembled application device 702.

During the calibration procedure, the application device 702 may beplaced into a calibration mode by a calibration controller 720. Thecalibration controller 720 may be a computer similar to the testcontroller computer 514 in FIGS. 5 and 6. Once the application device702 is in a calibration mode, a strong GPS signal may be generated by aGPS simulator 718 and transmitted for reception by the GPS receiver 708.This strong GPS signal can be acquired by the GPS receiver 708regardless of any reasonable amount of oscillator frequency error. Afterthe GPS receiver 708 has acquired the signal it can output readings ofthe frequency error of the oscillator output referenced to the GPSsignal, which is of sufficiently high accuracy.

The calibration controller 720 may then control the temperature chamber716 to execute a temperature test profile, collect readings from the ADC706 and the frequency error from the GPS Receiver 708, and capture thecollected data into memory (not shown) in the calibration controller720. When the temperature profile is complete, then a coefficientgenerator program in the calibration controller 720 may calculate thecoefficients. The coefficients may then be written back into anon-volatile memory in the application device 716 for use during normaloperation.

One advantage of the system 700 in FIG. 7 is that temperaturecompensation is performed on a complete system. Other parts besides thecrystal oscillator component 704 may be subject to temperature effects.For example, the ADC 706 also generates outputs that may vary withtemperature. In the system 700 in FIG. 7, the calibration is performedon the system as a whole such that the coefficients generated alsoaccount for effects of the ADC 706.

FIG. 8 is a block diagram illustrating operation of a calibration system800 similar to the system 700 shown in FIG. 7, except that the system800 in FIG. 8 performs a calibration procedure for an application device802 that includes a dual crystal oscillator circuit 804. The applicationdevice 802 in FIG. 8 includes a GPS receiver 808 that uses a frequencycounter 806 to sense temperature changes as indicated by a sensingcrystal 805 in the dual crystal oscillator circuit 804.

The system in FIG. 8 may perform a calibration procedure using thecalibration controller 720 and GPS simulator 718 with the applicationdevice 802 in the temperature chamber 716 as described above withreference to FIG. 7. Those of ordinary skill in the art will appreciatethat the calibration procedures described above in FIG. 5-8 are examplesand not intended to be limiting.

2. Quartz Crystal Dynamic Response Model

The systems described above with reference to FIGS. 5-8 advantageouslyimplement calibration procedures to enable temperature compensation incrystal oscillator components by determining the coefficients for amodel which accurately characterize the individual component. Thetemperature compensation model advantageously parametrically modelsvarious temperature characteristics in crystals that include the quartz,or other material such as silicon thermal dynamic response.

An example of a temperature compensation model that may be used is asfollows (in Matlab™ format):Frequency error=(Coefficients ‘a’.*9^(th) order polynomial oftemp)+(Coefficients ‘b1’.*5th order polynomial of temp)*(Coefficients‘b2’.*2nd order polynomial of filtered temp ramp rate)+(Coefficients‘c’.*1^(st) order polynomial of filtered temperature)Expressed in conventional mathematical form, the model is as follows:Frequency error=(a ₀ +a ₁ T+a ₂ T ² +a ₃ T ³ +a ₄ T ⁴ +a ₅ T ⁵ +a ₆ T ⁶+a ₇ T ⁷ +a ₈ T ⁸ +a ₉ T ⁹)+{(b _(1,0) +b _(1,1) T+b _(1,2) T ² +b_(1,3) T ³ +b _(1,4) T ⁴ +b _(1,5) T ⁵)*(b _(2,0) +b _(2,1) R+b _(2,2) R²)}+(c ₀ +c ₁ T _(f))or, Frequency=(a ₀ +a ₁ T+a ₂ T ² +a ₃ T ³ +a ₄ T ⁴ +a ₅ T ⁵ +a ₆ T ⁶ +a₇ T ⁷ +a ₈ T ⁸ +a ₉ T ⁹)+{(b _(1,0) +b _(1,1) T+b _(1,2) T ² +b _(1,3) T³ +b _(1,4) T ⁴ +b _(1,5)T⁵)*(b _(2,0) +b _(2,1) R+b _(2,2) R ²)}+(c ₀+c ₁ T)+f _(nom); where f _(nom) is the nominal frequency of the device.

The equation for Frequency error above comprises three parts. The firstpart is a polynomial with coefficients a_(n) that computes the staticpart of the model. The second part above is the dynamic part and itincludes a product of polynomials with coefficients b_(1,x) and b_(2,y),respectively. The third part is a model of material adsorption anddesorption and it includes the polynomial with coefficients c₀ and c₁.The three parts in the above model relate to physical phenomena asfollows:

-   -   a_(n)→Simple temperature dependence    -   b_(1,x)→Temperature dependence function of the ramp rate        correction    -   b_(2,y)→Ramp rate dependence    -   c₀ and c₁→Adsorption and desorption

The exact powers in the model above are not critical; for example, a7^(th) order static part (a_(n)), or even less, may be adequate in somecases. This may also be true for the other terms; that is, the powersmay be smaller or larger as needed for adequate error. The equationsabove include filtering to be applied to the sensor measurements for b2and for c.

a. The “b₂” Filtering for Sensor Ramp Rate, R

The b₂ filtering for the sensor ramp rate, R, is provided to model thelow pass filtered thermal response due to the heat capacity and thethermal resistance of the package and the devices inside. This internaldynamic response that is a lowpass-filtered version of the appliedthermal environment is present because neither the crystal nor thesensor (on the inside of the package) “sees” the applied externalvariation of the temperature with no delay. In an example of atemperature compensation model, the “b” terms use a 2^(nd) orderButterworth lowpass-filtered version of the raw sensor measurements. Theb₂ coefficient may actually be the filter cutoff frequency in an analoginstantiation for software. Other filter functions may be applicable,but the filter function is applied to the b₂ terms in examples describedherein. Both terms of the filter function are assumed to have the samecutoff frequency, so there is one coefficient to be determined for thislow pass function. Since the “b₂” term is dynamic, not static, thecoefficient generator program 516 applies the filtering to the measuredsensor data before fitting the data to determine the “b₂” coefficients.

The filter cutoff frequency (i.e. “b₂”) is a function of how thepackage, the sensor and the crystal are designed. In some examplecomponents, the individual devices may not have significantly differentdynamic time constants, although the “b” coefficients themselves mayhave large variations. This means that the “b” time constant may bedetermined one time for all devices of a given type. If the design ofthe packaging is changed, then the “b” time constant might have to bedetermined again. The “b” time constant may be determined by gatheringdata on a modest number of units such as 100, and hand-adjusting the “b”time constant until the best over-all errors are obtained. This valuemay then be entered as a fixed number into the filtering of the measuredsensor data, either voltage in the crystal oscillator circuits describedin FIGS. 1 and 2, or frequency in the dual crystal oscillator circuitsdescribed in FIGS. 3 and 4. The fixed number is then used both in thecoefficient generator program 516 and in the application device aftercalibration. It is stored as just another coefficient, but this numberis the same for all units of a given design.

b. The “c” Filtering for Absorbtion and Desorbtion

The “c” filtering terms are provided to model the relatively slow errorterm which causes the frequency error to rise in an exponential of timeas the temperature rises in a step, and fall as an exponential in timeas the temperature is reduced in a step. This error term is separate anddifferent from the “b2” dynamic terms and has a different equivalentfilter cutoff frequency. In one example of the temperature compensationmodel, a 2^(nd) order Butterworth similar to that used for the “b2”filter is used. One difference is that the cutoff frequency is lower inthe “c” filter than in the “b2” cutoff filter corner. The errorassociated with the “c” filter may have a characteristic time constantthat is not varying from unit-to-unit. To account for this effect, themodel described herein uses a separate coefficient for the cutoff of theequivalent filter function.

This coefficient may be determined in the same manner as the “b2” filtercutoff frequency, in a pre-manufacturing test with a modest number ofunits such as 100.

The example model described herein is a combined linear and nonlinearmodel. This allows both static compensation of the frequency versustemperature curve and corrections for the dynamic temperature responseof the crystal (or oscillator based on a different material such assilicon) to quickly changing temperature conditions where the staticmodel alone will have inadequate accuracy. Additionally the modelincludes nonlinear directional (hysterisis) modeling for temperatureversus frequency directional dependence. This is a condition where acrystal frequency versus temperature characteristic is different whenthe temperature is rising than when it is falling through the samerange. This is achieved through the cross-multiplication in the secondterm (i.e. the Ramp Rate.)

3. Example Temperature Test Profile to Determine the Dynamic Response

The temperature compensation model described above may be advantageouslyused in a calibration procedure that follows a temperature test profilesuch as the one illustrated in FIG. 9. A temperature test profile is thetemperature v. time pattern followed by the temperature test chamber.The crystal oscillator component (i.e. the crystal oscillator component102 in FIG. 1) is operated in the temperature test chamber (e.g. using acalibration procedure described in FIG. 5), and the temperature isvaried according to the selected profile. In known temperature testprofiles, a sweep of the temperature is made up to a desired point. Adelay then waits for device stabilization before the frequency ismeasured. The process is then repeated until as many points as neededare collected.

In the example temperature test profile shown in FIG. 9, the temperaturein a temperature test chamber may be set to an initial temperature 902.The chamber may be cooled as shown at 910 to a low point 912. Thechamber may then be heated at 920 to a high point at 922. The chamber isthen cooled at 924 to a final cycle temperature at 926. The cycle maythen be reversed by heating the chamber at 930 to a high point 932 thatis substantially the same as the high point at 922. The chamber is thencooled at 934 to a low point 936 that is substantially the same as thelow point at 912. The chamber is then heated to a final temperature at940 that is substantially the same as the initial temperature 902. Thetemperature test profile in FIG. 9 advantageously uses dynamic modeling.That is, there is no delay before measuring the frequency at anytemperature setting, which allows for faster testing. In addition, theprofile includes two cycles of measurements. The first cycle begins at902 and ends at 926. The cycle is then reversed from 926 to 940. Bysweeping the temperature through a first cycle in the test profile andthen going through the same cycle backwards, as in a time-reversal ofthe original cycle, this model dynamic misinterpretation problem may beeliminated.

4. Method of Calibration on the Final Product Test Production Line

The temperature compensation model described above advantageously allowsfor characterizing individual crystal oscillator components andcorrecting the individual components for temperature dependence. Thetemperature compensation model may be implemented in a variety of waysin a procedure for calibrating crystal oscillator components. Thecompensation may be applied through software in a DSP processinghardware or software-based signal receiver, or it may be applied throughhardware which actually produces an electrical signal which has thefrequency corrected.

Examples of methods for calibrating a crystal oscillator componentdescribed below assume implementation of the crystal oscillatorcomponent in a GPS receiver. Those of ordinary skill in the art willappreciate that use and advantages of examples of the systems andmethods described herein may be implemented for use of the crystaloscillator component in any product.

FIG. 10 is a flowchart of an example of a method 1000 for calibrating acrystal oscillator component where the component is calibrated duringits manufacture. The method may be started when manufacture of thecrystal oscillator component is substantially complete. At step 1002 ofthe method 1000, the crystal oscillator component may be identified by,for example, a serial number, or other ways of identifying theindividual crystal oscillator component. Alternatively, the crystaloscillator may have a non-volatile memory included in the device, inwhich case serialization is not necessary. In another example, theoscillator device may have a relatively small non-volatile memory thatis large enough for a serial number but not large enough for all thecoefficients. In this case the serial number may be read out in theproduction process for the application device, and then the coefficientdata may be retrieved from a web site or other on-line access, and thedata for that serial number may then be stored in a larger non-volatilememory in the application device.

Referring back to FIG. 10, at step 1004, the component is prepared forcalibration. This preparation may entail mounting the individualcomponent on a tested. The individual component is mounted such that itis in a temperature test chamber to permit subjecting the component to avarying temperature while operating the component to generate afrequency. At step 1006, a temperature test profile similar to thetemperature test profile in FIG. 9 is initiated to expose the crystaloscillator component to temperature that varies with time. At step 1008,the temperature and frequency data generated by the crystal oscillatorcomponent is collected and stored in a timed sequence. At step 1010, thetemperature compensation coefficients are computed. The coefficients maybe determined based on frequency and temperature data collected duringthe temperature test profile by performing the following in twoiterations. In the first iteration, the coefficients are initialized tozero. On the second iteration, the coefficients are initialized to thevalues generated in the first iteration. In the description below, thereferences to functions are for Matlab. In addition, the temperaturedata is received as voltage levels.

In each iteration, the following procedure is performed:

-   -   1. Curve fit for non-dynamic model: Perform a 9^(th) order        polyfit of voltage to the mean of all data binned by voltage.        Then, use the resultant coefficients as input to Matlab        “polyfit” the error by ramp rate coefficients. This prevents        extremely large numbers of points taken when the temperature may        have been steady from dominating the fit error.    -   2. Curve fit for adsorption/desorption: Using the filtered        voltage as a model parameter, estimate the adsorption/desorption        by minimizing the predicted error.    -   3. Temperature ramp rate (dynamic) fitting: Use Matlab        “fminsearch” to find a mixed polynomial in voltage and ramp rate        to match the frequency error so far.

Referring back to FIG. 10, when the coefficients for a crystaloscillator component are determined, they are then stored for use withthat individual component at step 1012. The storage and use of thecoefficients may be implemented in a variety of ways. As describedabove, the coefficients may be associated with or integrated with aserial number for the part and then made available to the user in avariety of ways, such as barcode, flash drive, etc. The coefficients maybe printed out for manual entry by the user, or made available on aweb-site for download retrieval by the user.

FIG. 11 is a flowchart of another example for calibrating a crystaloscillator component to operate with frequency correction fortemperature effects. In the example in FIG. 11, the crystal oscillatorcomponent is installed in a product in which it is intended to operate(for example, a GPS receiver) as indicated at step 1102. At step 1104,the product is prepared for calibration. Step 1104 may involveconnecting the GPS receiver to a tested in a temperature test chamber inwhich the GPS product is operated while subjected to a temperature testprofile. At step 1106, the product is powered up and a GPS signal isacquired. At step 1108, the temperature test profile is initiated usinga temperature test profile similar to the one described above withreference to FIG. 9. At step 1110, frequency and temperature data iscollected from the crystal oscillator component on the GPS receiveruntil the temperature test profile is complete. At step 1112, thetemperature and frequency data collected in step 1110 may be used tocompute the temperature compensation coefficients. An procedure may beincluded in the GPS receiver to perform step 1112. Alternatively, step1112 may be performed in conjunction with a calibration station. Step1112 may be performed in a manner similar to step 1010 described abovewith reference to FIG. 10. At step 1114, the coefficients are stored inmemory on the GPS receiver for use during normal operation of the GPSreceiver.

One of ordinary skill in the art will appreciate that the methods andsystems described herein may be implemented using one or more processorshaving memory resources available for storing program code and data. Oneskilled in the art will also appreciate that all or part of systems andmethods consistent with the present invention may be stored on or readfrom other machine-readable media, for example, secondary storagedevices such as hard disks, floppy disks, and CD-ROMs; a signal receivedfrom a network; or other forms of ROM or RAM either currently known orlater developed.

The foregoing description of implementations has been presented forpurposes of illustration and description. It is not exhaustive and doesnot limit the claimed inventions to the precise form disclosed.Modifications and variations are possible in light of the abovedescription or may be acquired from practicing the invention. Forexample, the described implementation includes software but theinvention may be implemented as a combination of hardware and softwareor in hardware alone. Note also that the implementation may vary betweensystems. The claims and their equivalents define the scope of theinvention.

1. A system for calibrating an oscillator component, comprising: an application device containing the oscillator component and a data interface; and an external calibration controller coupled to the application device through the data interface, wherein the external calibration controller controls the application device through the data interface to execute an application that utilizes the oscillator component to determine a temperature profile of the application device.
 2. The system of claim 1, including: a temperature chamber enclosing the application device and coupled to the external calibration controller, wherein the temperature chamber is controlled by the external calibration controller to vary a temperature applied to the application device.
 3. The system of claim 2, wherein the external calibration controller varies the temperature applied to the application device and measures the frequency of the oscillator component through the data interface.
 4. The system of claim 2, wherein the external calibration controller controls the application device to enter a calibration mode through the data interface, and the application device performs an application in the calibration mode while the external calibration controller varies the temperature applied to the application device.
 5. The system of claim 4, wherein the application device acquires a GPS signal while performing a GPS application, the application device determines a frequency error between the oscillator component and the GPS signal, the application device outputs the determined frequency error to the external calibration controller through the data interface, and the external calibration controller determines the temperature profile of the application device based on the frequency error.
 6. The system of claim 1, wherein the temperature profile of the application device is based on the temperature effects of the oscillator component and other components included in the application device. 